package utils
{
	import flash.utils.Dictionary;
	
	public class FileUtils
	{
		private static var fileFilter:Dictionary;
		/**
		 * 根据所给的路径，获取文件的名字
		 */ 
		public static function getFileName(path:String):String
		{
			if(path==null || path=="")return null;
			var fileName:String;
			var index:int=-1;
			index= path.lastIndexOf("/")+1;
			if(index!=-1)fileName = path.substr(index);
			return fileName;
		}
		/**
		 * 根据所给的文件名或路径，获取文件的类型
		 */ 
		public static function getFileType(url:String,withFilter:Boolean):String
		{
			var type:String;
			var index:int=-1;
			index=url.lastIndexOf(".")+1;
			if(index!=-1)type=url.substr(index);
			if(withFilter)
			{
				type=type.toLocaleLowerCase();                                  //减少判断的复杂度
				fillFilter();
				type=fileFilter[type];
				if(type==null) throw new Error("FileUtils::文件类型还没有被记录.");//提醒自己记录新的文件类型
				return type;
			}
			return type;
		}
		private static function fillFilter():void
		{
			if(fileFilter==null)
			{
				fileFilter=new Dictionary();
				fileFilter["jpg"]="图片";
				fileFilter["png"]="图片";
				fileFilter["mp3"]="音频";
				fileFilter["flv"]="视频";
				fileFilter["txt"]="文本";
				fileFilter["xml"]="数据库";
				fileFilter["swf"]="Flash动画";
				fileFilter["dae"]="模型文件";
				fileFilter["html"]="文本数据";
			}
		}
	}
}